Key

scroll

Key Blog

  • Key 主頁>
  • 博客>
  • [ue5] ue git pluginを使用してunreal engine 5のgitバージョン管理を設定する方法
  • [UE5] 如何使用 UE Git Plugin 設定 Unreal Engine 5 的 Git 版本控制

    @kiikey4(Key Zhao)

    [UE5] 如何使用 UE Git Plugin 設定 Unreal Engine 5 的 Git 版本控制

    最後更新日期 2025年2月3日

    發佈日期 2025年2月2日

    0

    概述

    在本文中,我將解釋為什麼版本控制對於Unreal Engine 5 (UE5)專案至關重要,使用版本控制的好處,以及為什麼UE Git插件比標準Git更適合。我還將提供一個逐步的指南,說明如何在UE5專案中使用UEGitPlugin(Git LFS 2)設置版本控制,比官方安裝指南提供更多詳細說明。

    環境

    • Unreal Engine 5.4
    • Git 2.44.0
    • UEGitPlugin 3.16
    • Windows 11 Pro

    為什麼你應該在Unreal Engine 5中使用版本控制?

    版本控制對於遊戲開發至關重要,在使用UE5時,擁有一個穩固的版本控制系統可以避免許多麻煩。無論你是獨立開發者還是團隊成員,版本控制都能確保你的工作得到備份、組織並能輕鬆恢復。

    以下是使用版本控制在UE5中的好處:

    1. 專案備份與恢復

    遊戲專案很複雜,由於意外刪除、崩潰或文件損壞而丟失進度可能是毀滅性的。版本控制允許你恢復到專案的先前版本,確保不會丟失重要的工作。

    1. 協作與團隊工作流程

    對於團隊來說,版本控制使協作變得無縫。多個開發者可以同時在不同的功能上工作,而不會覆蓋彼此的工作。分支和合併有助於平滑地整合變更,同時保持專案的穩定性。

    1. 無風險的實驗

    想嘗試一個新的遊戲機制,但又怕它會破壞專案?使用版本控制,你可以創建一個單獨的分支,測試你的想法,只有當它按預期運行時才會合併。這種靈活性鼓勵實驗和創新。

    1. 追蹤變更與調試

    版本控制會記錄對專案所做的所有更改。如果引入了錯誤,你可以通過查看之前的提交來輕鬆追蹤問題出現的時間和地點。這使得調試比沒有版本控制時更容易。

    為什麼使用UE Git插件而非標準Git?

    更好的二進制文件處理

    Unreal Engine專案包含許多二進制文件(.uasset, .umap),這些文件不像基於文本的源代碼那樣容易進行差異比較。標準Git對大型二進制文件的處理有困難,而UE Git插件則支持這些文件,並提供像是文件鎖定(Check Out)的功能,類似於Perforce、Plastic SCM和SVN。

    此視頻(27:55 - 32:47)解釋了為什麼標準Git對UE專案來說並不理想:

    影片:Ari Arnbjörnsson (Housemarque):來自UE4 AAA開發一年的教訓

    我對選擇版本控制工具的建議

    團隊規模推薦的版本控制工具
    獨立開發者配合UE Git插件使用Git,或使用帶LFS的標準Git
    團隊(2-5人)配合UE Git插件使用Git / Plastic SCM / Subversion
    團隊(6人以上)考慮使用Perforce(但費用較高)

    如何安裝並設置UE Git插件

    按照以下步驟在UE5中安裝並啟用UE Git插件。

    該插件需要從Visual Studio(或Rider)進行編譯,因此你的專案中必須至少包含一個C++文件。

    步驟1:安裝Git

    確保你的系統中已安裝Git。如果未安裝,請從git-scm.com下載並安裝。

    安裝過程中,請確保選中Git LFSGit Credential Manager

    GitLFS_lbbqll

    GitCredentialManager_as16js

    步驟2:Git身份驗證

    啟動Git Bash。

    LaunchGitBash_ghtibz

    配置你的GitHub帳戶:

    1git config --global user.name "yourUserName" 2git config --global user.email yourEmail

    步驟3:設置Git儲存庫

    要設置Git儲存庫,你可能需要一個Git GUI客戶端,如GitHub DesktopForkSourcetree。或者,你可以使用命令行。

    在此示例中,我們將使用Fork。打開Fork並導航至File -> Init New Repository...

    InitRepo_gmhykp

    然後,選擇你的專案根目錄。

    接著,轉到GitHub,點擊右上角的**+按鈕,並選擇New repository**。

    NewRepoButton_kkflyn

    輸入儲存庫名稱,選擇PublicPrivate,然後點擊Create repository

    CreateRepositoryDetail_eirzom

    確保選擇HTTPS,然後點擊複製按鈕以複製儲存庫URL。

    CopyGit_pvdv6z

    回到Fork,右鍵點擊Remotes -> Add New Remote...

    AddRemote_kjglsr

    將複製的URL粘貼到Repository URL,然後點擊Add New Remote

    步驟4:下載UEGitPlugin

    轉到Unreal Engine Git Plugin並下載ZIP文件。

    DownloadUEGitPlugin_ovtkkw

    安裝到專案

    將插件解壓到project/Plugins/Developer文件夾。如果PluginsDeveloper文件夾不存在,請創建它們。

    解壓後,你將看到兩個UEGitPlugin-3.16文件夾,僅保留一個。 將UEGitPlugin-3.16文件夾複製到Developer文件夾中(刪除重複的UEGitPlugin-3.16文件夾)。

    你的文件夾結構應該如下所示:

    ProjectStructure_zp1j3e

    或者,你可以安裝到引擎

    解壓到Engine/Plugins/Developer文件夾。

    然後將Engine/Plugins/Developer/GitSourceControl.uplugin重命名為Engine/Plugins/Developer/GitSourceControl.uplugin.disabled

    步驟5:設置.gitattributes和.gitignore

    在專案根目錄中:

    1. 創建.gitattributes文件並複製.gitattributes中的內容。
    2. 創建.gitignore文件並複製.gitignore中的內容。

    步驟6:編譯插件

    在Visual Studio或Rider中打開你的專案.sln文件,然後構建專案。

    步驟7:設置UE版本控制

    1. 打開UE5,轉到插件菜單(Edit->Plugins),並啟用Git LFS 2GitLFS2_tbzxnj
    2. 點擊右下角的版本控制。 RevisionControl_cdgfcd
    3. 點擊Connect to Revision Control...
    4. 選擇提供者為Git LFS 2SelectGitLFS2_eckell
    5. 確保Git Path設置為git.exe,選中Uses Git LFS,並輸入你的GitHub用戶名(應與"UserName"下顯示的名稱匹配)。 RevisionControlLogin_nfm1t6
    6. 點擊Accept Settings

    步驟8:插件配置

    編輯Config/DefaultEditorPerProjectUserSettings.ini,並粘貼以下內容。

    1[/Script/UnrealEd.EditorLoadingSavingSettings] 2bSCCAutoAddNewFiles=False 3bAutomaticallyCheckoutOnAssetModification=False 4bPromptForCheckoutOnAssetModification=True 5 6[/Script/UnrealEd.EditorPerProjectUserSettings] 7bAutoloadCheckedOutPackages=True

    完成!

    使用方法

    在 UE5 中進行拉取、推送、提交

    GitAction_upuqxj

    查看檔案歷史

    FileHistory_fcde2h

    檢出(鎖定)檔案

    當您編輯並保存檔案時,它將被檢出(紅色勾選標記)。

    您也可以手動檢出檔案: 右鍵點擊 → 版本控制 → 檢出

    CheckOut_rbhdjf

    LocalCheckedOut_j6dmus

    其他使用者在您提交和推送或還原變更之前,無法修改被鎖定的檔案。

    插件 GitHub 頁面

    欲了解更多信息,請訪問官方插件頁面:Unreal Engine Git Plugin

    特別感謝

    感謝 @aizen76 (alwei) 和 @toshiyuki_wada (ぽちお) 介紹這個插件給我。

    同時,感謝插件作者 mastercoms 幫助我解決安裝問題。


    如果有任何問題,請隨時留言。

    參考資料

    0

    評論

    沒有評論

    發表閣下的感受